package com.aispeech.task.lasr;

import com.aispeech.task.fsm.EventType;

public class LASREventType extends EventType {
    protected LASREventType(String name) {
        super(name);

        if (!nameEnumMap.containsKey(name))
            nameEnumMap.put(name, this);
    }

    public static EventType valueOf(String name) {
        if (name == null)
            throw new NullPointerException("Name is null");

        EventType eventType = nameEnumMap.get(name);
        if (eventType != null)
            return eventType;
        else
            throw new IllegalArgumentException("No enum constant exists, name is : " + name);
    }

    public static final LASREventType Initialized = new LASREventType("Initialized");
    public static final LASREventType DownloadedAndNeedSplit = new LASREventType("DownloadedAndNeedSplit");
    public static final LASREventType Downloaded = new LASREventType("Downloaded");
    public static final LASREventType ChannelSplitted = new LASREventType("ChannelSplitted");
    public static final LASREventType AudioCutted = new LASREventType("AudioCutted");
    public static final LASREventType Asred = new LASREventType("Asred");
    public static final LASREventType FusedAndNeedLabel = new LASREventType("FusedAndNeedLabel");
    public static final LASREventType Fused = new LASREventType("Fused");
    public static final LASREventType Labeled = new LASREventType("Labeled");
}
